<?php

class ProfileController extends UserController {
	public $defaultAction = 'index';

	public function actionIndex() {
		$this->pageTitle= Yii::t('app', 'Мой аккаунт');
		//$this->pageTitle= Yii::t('app', 'Главная');
		//if (!$this->checkLoggedIn()) $this->redirect(Yii::app()->controller->module->homeUrl);
		$model = $this->loadModel(Yii::app()->user->id, 'ProfileForm');
		
		if(isset($_POST['ProfileForm'])) {
			$old_username = $model->username;
			$post_data = $_POST['ProfileForm'];
			if (1 == $model->approved) {
				if (isset($post_data['username'])) unset($post_data['username']);
			}
			$model->attributes = $post_data;
			if ($model->validate()) {
				if ($model->save()) {
					Yii::app()->user->setFlash('user_profile_msg', UserModule::t('Данные сохранены успешно.'));
					if ($old_username != $model->username) {
						Yii::app()->user->setFlash('user_profile_username', 
						UserModule::t('Email был изменен. Письмо с инструкциями для активации теперь не актульано. Пожалуйста, отправьте новое письмо.'));
					}
					$this->refresh();
				}
			}
		}
		$this->render('index',array('model'=>$model));
	}
	
	public function actionResendEmail() {
		if (1 == Yii::app()->user->approved) {
			Yii::app()->user->setFlash('user_profile_msg', UserModule::t('Действие недоступно'));
			$this->redirect(Yii::app()->createUrl('/user/profile'));
		}	
		$model = $this->loadModel(Yii::app()->user->id, 'Users');
		$result = $this->sendActivationEmail($model);
		$message = ($result) ? UserModule::t('Письмо с инструкциями отправлено успешно. Пожалуйста, проверьте почту.') : UserModule::t('Произошла ошибка при отправке письма с инструкциями. Свяжитесь с администрацией.');
		Yii::app()->user->setFlash('user_profile_msg', $message);
        $this->redirect(Yii::app()->createUrl('/user/profile'));
	}	
	
	public function actionChangeEmail() {
		$this->pageTitle= Yii::t('app', 'Мой аккаунт: Изменение email');
		if (1 == Yii::app()->user->approved) {
			Yii::app()->user->setFlash('user_profile_msg', UserModule::t('Действие недоступно'));
			$this->redirect(Yii::app()->createUrl('/user/profile'));
		}
		
		$model = $this->loadModel(Yii::app()->user->id, 'ProfileChangeemailForm');
		$old_email = $model->username;
		if(isset($_POST['ProfileChangeemailForm'])) {
			$model->attributes=$_POST['ProfileChangeemailForm'];
			if ($model->validate()) {
				if ($model->save()) {
					Yii::app()->user->setFlash('user_profile_msg',
					UserModule::t('Email был изменен. Письмо с инструкциями для активации теперь не актульано. Пожалуйста, отправьте новое письмо.'));
					//$this->redirect(Yii::app()->controller->module->profileUrl);
                    $this->redirect(Yii::app()->createUrl('/user/profile'));
				}
			}
		}
		$this->render('changeemail',array('model'=>$model, 'old_email' => $old_email));
	}	
	
	
	public function actionPassword() {
		$this->pageTitle= Yii::t('app', 'Мой аккаунт: Изменение пароля');
		$model = $this->loadModel(Yii::app()->user->id, 'ProfilePasswordForm');
		if(isset($_POST['ProfilePasswordForm'])) {
			$model->attributes=$_POST['ProfilePasswordForm'];
			if ($model->validate()) {
				if ($model->save()) {
					Yii::app()->user->setFlash('user_profile_msg', UserModule::t('Password data updated successfully'));
					//$this->redirect(Yii::app()->controller->module->profileUrl);
                    $this->redirect(Yii::app()->createUrl('/user/profile'));
				}
			}
		}
		$this->render('password',array('model'=>$model));
	}
	
}